package com.mxpio.erp.common.enums;

/**
 * @Author : 吴盼盼
 * @Datetime : 2022/10/8 10:41
 * @Desc :
 * @Modor :  Modifytime:
 * @modDesc :
 */
public interface InventoryEnums {
    enum InventoryStatus {
        CREATE("01", "开立"), READY("02", "待盘点"), REVIEW("03", "待复核"),
        CLOSED("99", "已关闭"), COMPLETE("40", "已完成");

        InventoryStatus(String statusCode, String statusName) {
            this.statusCode = statusCode;
            this.statusName = statusName;
        }

        private String statusCode;

        private String statusName;

        public String getStatusCode() {
            return statusCode;
        }

        public void setStatusCode(String statusCode) {
            this.statusCode = statusCode;
        }

        public String getStatusName() {
            return statusName;
        }

        public void setStatusName(String statusName) {
            this.statusName = statusName;
        }
    }

    enum InventoryRange {
        ALL("0", "全盘"), PART("1", "部分盘点");

        InventoryRange(String statusCode, String statusName) {
            this.statusCode = statusCode;
            this.statusName = statusName;
        }

        private String statusCode;

        private String statusName;

        public String getStatusCode() {
            return statusCode;
        }

        public void setStatusCode(String statusCode) {
            this.statusCode = statusCode;
        }

        public String getStatusName() {
            return statusName;
        }

        public void setStatusName(String statusName) {
            this.statusName = statusName;
        }
    }
    enum InventoryHandleMethod {
        LOSS("-1", "盘亏"), SURPLUS("1", "盘盈"), RIGHT("0", "不涉及"),;

        InventoryHandleMethod(String statusCode, String statusName) {
            this.statusCode = statusCode;
            this.statusName = statusName;
        }

        private String statusCode;

        private String statusName;

        public String getStatusCode() {
            return statusCode;
        }

        public void setStatusCode(String statusCode) {
            this.statusCode = statusCode;
        }

        public String getStatusName() {
            return statusName;
        }

        public void setStatusName(String statusName) {
            this.statusName = statusName;
        }
    }
    enum PlanExecStatus {//ERP_INV_PLAN_EXEC_STATUS  待执行1，执行中2，已完成3，已作废4
        UNEXEC("1", "待执行"), EXECING("2", "执行中"), FINISH("3", "已完成"), SCRAP("4", "已作废");

        PlanExecStatus(String code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        private String code;
        private String desc;

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }
    }

    enum PlanEndLoopType {//ERP_INV_PLAN_END_LOOP_TYPE
        LOOP("loop", "循环"), TIMING("timing", "定时"), FREQUENCY("frequency", "次数");

        PlanEndLoopType(String code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        private String code;
        private String desc;

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }
    }
    enum PlanRateUnit {//ERP_INV_PLAN_RATE_UNIT
        DAY("day", "日"), MONTH("month", "月");

        PlanRateUnit(String code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        public static PlanRateUnit fromCode(String code) {
            for (PlanRateUnit e : values()) {
                if (e.getCode() == code) {
                    return e;
                }
            }
            throw new IllegalArgumentException("Invalid code: " + code);
        }

        private String code;
        private String desc;

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }
    }
    enum PlanType {//ERP_INV_PLAN_TYPE
        STAND("1", "标准/静态"), CYCLE("2", "循环"), DYNAMIC("3", "动态");

        PlanType(String code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        private String code;
        private String desc;

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }
    }
    enum InventoryWay {//ERP_INV_INVENTORY_WAY
        BLIND("1", "盲盘"), BRIGHT("0", "明盘");

        InventoryWay(String code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        private String code;
        private String desc;

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }
    }
    enum HandleMethod {//ERP_INV_INVENTORY_HANDLE_METHOD
        LACK("-1", "盘亏"), SURPLUS("1", "盘盈"), EQUAL("0", "不涉及");

        HandleMethod(String code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        private String code;
        private String desc;

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }
    }

    enum ReturnStatus {
        APPLY("01", "借用申请中"), BORROWED("02", "已借出待归还"),RETURNING("03", "归还中"), CLEAR("04", "已还清");

        ReturnStatus(String typeCode, String typeName) {
            this.typeCode = typeCode;
            this.typeName = typeName;
        }

        private String typeCode;

        private String typeName;

        public String getTypeCode() {
            return typeCode;
        }

        public void setTypeCode(String typeCode) {
            this.typeCode = typeCode;
        }

        public String getTypeName() {
            return typeName;
        }

        public void setTypeName(String typeName) {
            this.typeName = typeName;
        }

    }
}
